<?php 
/**
 * Representa��o de um objeto gen�rico que pode ser inclu�do em um detalhamento.
 * Atualmente existe a implementa��o dessa classe para Materiais e Servi�os, caso haja necessidade de um novo iten que n�o fa�a parte das especifica��es de Material/Servi�o deve-se cria-lo a partir da heran�a dessa classe.
 * @author saeo
 *
 */
abstract class Objeto
{
	protected $id; 					// Chave-prim�ria do objeto no banco de dados
	protected $compraId;			// Id da compra que pertence o objeto
	protected $codigo; 				// C�digo do objeto cadastrado no SIASG
	protected $especificacao; 		// Especifica��o do objeto
	
	public function __construct( $id = NULL, $compraId = NULL, $codigo = NULL, $especificacao = NULL )
	{
		$this->id = $id;
		$this->codigo = $codigo;
		$this->compraId = $compraId;
		$this->especificacao = $especificacao;
		$this->compraId = $compraId;
	}
	
	public function setCompraId( $compraId )
	{
		$this->compraId = $compraId;
	}
	
	public function __set( $var, $val )
    {
        $this->$var = $val;
    }

    public function __get( $var )
    {
        return $this->$var;
    }
	

	abstract public function Salvar();
	abstract public function Atualizar();
	abstract public function Remover( $id );
	//abstract public function Carregar( $id );
	//abstract public function CarregarTodos( $listarTodos );
	//abstract public function isCodigoEmUso( $codigo );

}

?>